The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Certain classes of computer graphics systems are required to rapidly display large numbers of different graphical textures in real time as a user is interacting with the systems. For example, co-pending application Ser. No. 10/727,799, filed 3 Dec. 2003 of David Gettman et al., entitled “Information Display,” describes in one aspect a browser for navigating a virtual three-dimensional environment that may comprise a virtual city in which textures rendered from HTML documents or Web pages are displayed on the sides of virtual buildings.
In this environment the browser is required to display the textures as a user navigates through the virtual city. In a virtual city having a large number of virtual buildings, the number of textures that are potentially stored and displayed may be very large, and each texture may be large, e.g., 1 Mb or larger. Storing thousands of such high-resolution textures for display in real time as a user navigates a virtual three-dimensional environment would require more main memory than is presently available in conventional personal computer systems. While some personal computers use graphics display cards that have a dedicated display memory facility, the memory capacity of such cards is typically too small to store all high-resolution textures for all textures that are in view.
While such textures could be stored in mass storage or a cache, loading the textures from such storage at display time would cause an unacceptable time delay for the user because such storage performs at a relatively slow rate. Thus, some textures may not be available in main memory or display memory when needed due to disk latency. What is needed is a better way to manage display of high-resolution textures in an environment in which some textures appear far away in a virtual environment such that many details of the textures are not visible from the viewpoint of the user when the textures are rendered for that viewpoint.
Further, in this environment certain textures are displayed in the foreground from the perspective of the user and other textures are displayed further away. To provide a realistic display the system is required to display foreground textures in high resolution; however, more distant textures need not have the same resolution. In this environment, it would be inefficient and costly in computational resources to store all textures at one high level of resolution and render the textures in low resolution when they are displayed in the distance. A better approach is needed for dealing with textures that have changing resolution requirements according to the position of the textures in the virtual three-dimensional environment.
Moreover, source content for the textures, such as HTML documents or Web pages, may change over time, for example as the owner or operator of an online Web site that serves HTML documents or Web pages makes changes to the documents or pages. Although such changes could occur at any time during use of the system, it is impractical to retrieve the source content whenever the viewpoint of the user changes or whenever there is a need to render the textures again.